package io.renren.modules.query.service;

import io.renren.modules.query.entity.DrivingLicense;
import io.renren.modules.query.entity.Vehicle;
import io.renren.modules.query.entity.VioCodewfdm;
import io.renren.modules.query.entity.VioSurveil;
import io.renren.modules.query.entity.VioViolation;

import java.util.List;

/**
 * @author rdawnx
 * @package_name io.renren.service
 * @class_name DataInfoQueryService.java
 * @author_email rdawnxhi@163.com
 * @JDK_version 1.8
 * @create_on 2019/06/25 11:57
 */
public interface DataInfoQueryService {

    /**
     * 根据参数查询车辆信息列表
     *
     * @param hpzl *号牌种类
     * @param hphm *号牌号码
     * @param fdjh 发动机号
     * @return 列表
     */
    public List<Vehicle> getVehicleInfoByParams(String hpzl, String hphm, String fdjh);

    /**
     * 根据实体参数获取实体类对象列表
     *
     * @param drivingLicense 参数
     * @return 返回实体对象列表
     */
    List<DrivingLicense> getDrivingLicenseInfo(DrivingLicense drivingLicense);

    /**
     * 根据实体参数获取实体类对象列表
     *
     * @param vioViolation 参数
     * @return 返回实体对象列表
     */
    List<VioViolation> getVioViolationInfo(VioViolation vioViolation);

    /**
     * 根据实体参数获取实体类对象列表
     *
     * @param vioCodewfdm 参数
     * @return 返回实体对象列表
     */
    List<VioCodewfdm> getVioCodewfdmInfo(VioCodewfdm vioCodewfdm);

    /**
     * 根据实体参数获取实体类对象列表
     *
     * @param vioSurveil 参数
     * @return 返回实体对象列表
     */
    List<VioSurveil> getVioSurveilInfo(VioSurveil vioSurveil);

    /**
     * 检查用户的姓名身份证号是否一致
     *
     * @param name     姓名
     * @param idNumber 身份证号
     * @return 检查结果：true表示通过校验，false表示未通过
     */
    boolean checkNameAndIDCard(String name, String idNumber);
}
